perm filename QUAD.SAI[1,DEK] blob
sn#521352 filedate 1980-07-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 begin comment test distribution of partial quotients in quadratics
C00004 ENDMK
C⊗;
begin comment test distribution of partial quotients in quadratics;
integer dd,n,u,v;
define d=3141;
integer array count[0:2*d],hist[0:100];
external procedure bail;
setprint("","b");
arrclr(count); arrclr(hist);
bail;
for u←1 step 1 until d do
begin dd←d↑2-u↑2;
for v←d-u+1 step 1 until d+u do
begin integer k; k←v*(dd div v)-dd;
while true do
begin k←k+v;
if k>2*d then done;
count[k]←count[k]+1;
end;
end;
end;
for dd←1 step 1 until 2*d do
begin integer t,rr,u,uu,v,vv,a,m;
u←uu←rr←2*d; v←dd; vv←1; m←1;
while v≠1 do
begin a←u div v; uu←u; u←rr-(u mod v);
m←m+1;
t←v; v←a*(uu-u)+vv; vv←t;
end;
print('15&'12,"sqrt(3141↑2 +",dd,") cycle length ",m," of ",count[dd]);
n←100*m/count[dd]+.5;
hist[n]←hist[n]+1;
end;
for n←0 step 1 until 100 do print('15&'12,n,"%: ",hist[n]);
end